package reflect_genericity;

import java.lang.reflect.Method;
import java.util.ArrayList;

/**
 * @author 宋鑫宇
 * @version 1.0
 * 反射实现泛型擦除后，加入其他类型的元素
 */
public class ReflectDemo {
    public static void main(String[] args) throws Exception{
        ArrayList<Integer> list = new ArrayList<>();
        list.add(23);
        list.add(25);
//        list.add("jack");
        //使用反射强行存储不同类型的数据
        Class c = list.getClass();
        //定位ArrayList中的add方法
        Method method = c.getDeclaredMethod("add", Object.class);
        //在list集合中加入不同类型的数据
        method.invoke(list,"jack");
        System.out.println(list);
    }
}
